home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Leser 15 / Amiga Plus Leser CD 15.iso / Tools / Freeware / PerfectPaint / rexx / general / SaveGif_Picture.rx < prev    next >
Encoding:
Text File  |  2002-03-13  |  2.1 KB  |  133 lines

  1. /*  arexx Script 
  2.   SAVE Picture in GIF format
  3.   need 'tapgif' in PerfectPaint:tools/  
  4. */
  5.  
  6.   options results
  7.   parse ARG Port b
  8.   ADDRESS value Port
  9.   pp_AvoidRefresh
  10.  
  11.   file=""
  12.   file2=""
  13.   option=0
  14.   if EXISTS('PerfectPaint:Prefs/Rexx_Prefs/SaveGif_Picture') THEN DO
  15.     IF OPEN('lfile','PerfectPaint:Prefs/Rexx_Prefs/SaveGif_Picture', "R") then DO
  16.       file = READLN('lfile')
  17.       option=READLN('lfile')
  18.       CALL CLOSE('lfile')
  19.       file2=""
  20.       do i=1 to LENGTH(file)
  21.         a=SUBSTR(file,i,1)
  22.         if a=" " then DO
  23.           a="*"
  24.         END
  25.         file2=file2||a
  26.       END
  27.       file=file2
  28.     END
  29.   END
  30.  
  31.   pp_showscreen
  32.  
  33.   pp_GetDepth
  34.   D=result
  35.   IF D=24 then DO
  36.     pp_RenderReq 0
  37.   END
  38.  
  39.   pp_DialogInit 250 90 "*Save*Gif*Picture*" 3
  40.     pp_String 0 50 12 150 16 "Name" 1 100 file
  41.  
  42.     n=LASTPOS('/',file)
  43.     if n=0 then DO
  44.       n=LASTPOS(':',file)
  45.       file=SUBSTR(file,1,n)
  46.     END
  47.     else DO     
  48.       file=SUBSTR(file,1,n)
  49.     END
  50.  
  51.     pp_Getfile 1 205 13 0 "Save*Gif" 0 file
  52.     pp_Cycle 2 100 32 100 16 "Transparency" 1 "No|Color*0|Current*Bg" option
  53.   pp_Dialog 
  54.  
  55.   rc=result
  56.   if rc=0 then
  57.     do
  58.       pp_PermitRefresh
  59.       EXIT
  60.     end 
  61.  
  62.   pp_GetDialog 0
  63.   file=result
  64.  
  65.   pp_GetDialog 2
  66.   option=result
  67.  
  68.   CALL SavePrefs('SaveGif_Picture',file,option)
  69.   ADDRESS value Port
  70.  
  71.   if option=2 then
  72.   DO
  73.     pp_GetBpen
  74.     Bpen=result
  75.   END
  76.  
  77.   if option=1 then
  78.   DO
  79.     Bpen=0
  80.   END
  81.  
  82.   IF D=24 then DO
  83.     pp_Render 0 'T:pptemp'
  84.   END
  85.  
  86.   IF D<24 THEN DO
  87.     pp_save 'T:pptemp' 0
  88.   END
  89.  
  90.   pp_asay 'Making*GIF*file|Please*wait*...'     
  91.   address COMMAND
  92.   if option=0 then
  93.   DO
  94.     'perfectpaint:tools/tapgif '||'T:pptemp '||'"'||file||'"'
  95.   END
  96.   ELSE
  97.   DO
  98.     'perfectpaint:tools/tapgif '||'T:pptemp '||'"'||file||'"'||' TRAN '||Bpen
  99.   END
  100.  
  101.   'delete >nil: T:pptemp'
  102.  
  103.   ADDRESS value Port
  104.  
  105.     pp_SaveIconFor file 0
  106.   pp_closeasay
  107.  
  108.   pp_PermitRefresh
  109.   EXIT
  110.   
  111.  
  112.  
  113. SavePrefs: PROCEDURE
  114.   
  115.   Prefname='PerfectPaint:Prefs/Rexx_Prefs/'||ARG(1)
  116.  
  117.   if EXISTS(Prefname) THEN DO
  118.     ADDRESS COMMAND
  119.     'delete >nil: '||Prefname
  120.   END
  121.  
  122.   IF OPEN('pfile',PrefName,'W') THEN DO
  123.  
  124.   do i=2 to ARG()
  125.     CALL WRITELN('pfile',ARG(i))
  126.   end
  127.  
  128.   CALL CLOSE('pfile')
  129.  
  130. RETURN  
  131.  
  132.  
  133.